package conservare.boleto.service;

import java.util.ArrayList;
import java.util.List;

import conservare.boleto.PagadorDoBoleto;
import conservare.constantes.Constante;
import conservare.modelo.boleto.ArquivoRetorno;
import conservare.modelo.boleto.ArquivoRetornoDetalhe;
import conservare.modelo.boleto.BoletoEmitido;
import conservare.negocio.BoletoEmitidoRN;

public class IdentificaQuemPagouBoleto {

	ArquivoRetorno arquivoRetorno;
	
	public IdentificaQuemPagouBoleto(){}
	
	public IdentificaQuemPagouBoleto(ArquivoRetorno arquivoRetorno){
		this.arquivoRetorno = arquivoRetorno;
	}
	
	public List<PagadorDoBoleto> obterListaPagadores(){
		
		List<PagadorDoBoleto> listaPagadoresBoleto = new ArrayList<>();
		
		for(ArquivoRetornoDetalhe pagamento : arquivoRetorno.getDetalhesPagamento()){
			
			BoletoEmitido boletoEmitido = new BoletoEmitidoRN().obterBoletoPeloNossoNumero(Constante.CONSERVARE_NUMERO_BANCO_CEF, pagamento.getNossoNumero());
			PagadorDoBoleto pagadorDoBoleto = null;
			if(boletoEmitido != null){
				pagadorDoBoleto = new PagadorDoBoleto(boletoEmitido.getNomeDoSacado(), boletoEmitido.getNomeDoSacadorAvalista(), pagamento.getDataVencimentoDoTitulo(), pagamento.getDataPagamentoDoTitulo(), pagamento.getValorPago());
			}else{
				pagadorDoBoleto = new PagadorDoBoleto("", "", pagamento.getDataVencimentoDoTitulo(), pagamento.getDataPagamentoDoTitulo(), pagamento.getValorPago());
			}
			listaPagadoresBoleto.add(pagadorDoBoleto);
			
		}
	
		
		return listaPagadoresBoleto;
		
	}
	
	
}
